package com.plian.system.entity.pf;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @Author: Take-off
 * @Description: TODO
 * @Date: 2022/12/15 10:49 AM
 * @Version: 1.0
 **/
@Data
@TableName("pf_business_audit")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BusinessAudit 对象", description = "考核国资审核-财务绩效")
public class BusinessAudit extends BaseEntity {

    /**
     * 主表id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主表id")
    private Long baseBusinessAuditId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "财务绩效表id")
    private Long businessIndicatorsId;

    @TableField(value = "annual_submit", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "企业上报数")
    private BigDecimal annualSubmit;

    @TableField(value = "audit_firmly", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "审定认定")
    private BigDecimal auditFirmly;

    @TableField(value = "audit_sum", updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "国资审核")
    private BigDecimal auditSum;

    @TableField(exist = false)
    @ApiModelProperty(value = "指标id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long indicatorsCategoryId;

    @ApiModelProperty(value = "指标权重")
    private BigDecimal indicatorsWeight;

    @ApiModelProperty(value = "基准值")
    private BigDecimal baseline;

    @ApiModelProperty(value = "激励目标值")
    private BigDecimal target;

    @ApiModelProperty(value = "基本目标值")
    private BigDecimal basicTarget;

    @TableField(exist = false)
    @ApiModelProperty(value = "第三方指标id")
    private String indicatorsCodeId;
}
